Content providers have long struggled with how to provide content at a high availability and high performance to their customers in view of bandwidth limitations in content distribution networks. A Content Delivery Network (CDN) can be a large distributed system of servers deployed in multiple data centers connected to the Internet or other public/private communication network. The goal of a CDN is to serve media content (e.g., video/audio/etc.) to User Equipment nodes (UEs) with high availability and high performance. Example UEs that can receive media content are set-top-boxes, television, multimedia computers, and wireless terminals (e.g., smart phones and tablet computers).
Requests from UEs for media content are typically algorithmically directed to CDN servers that are optimal in some way. CDNs deliver files from a central location/data center, which may be owned, managed, and/or associated with a content owner, to various regional servers and finally to edge servers or the UE nodes, which are located near the end users. Such systems often operate on a “pull” philosophy, with servers farther away from the edge caching content on servers closer to the edge. Servers in the CDN will typically redirect a client to a location somewhere in the hierarchy of servers based on where the content resides. If the content is determined to be popular at a given location, then users may be redirected to an edge server closer to the location of that user. There are “push” scenarios as well where, for example. Video on Demand (VOD) content may be pushed throughout the CDN based on licensing window information and/or anticipated content popularity. For example, a title that was popular in theaters and is due to be released in one week may be pushed out to various nodes in the CDN to meet the expected purchase/viewing demands.
CDNs, however, generally have limited ability to prioritize/optimize the distribution of file transfers as content is generally delivered on a best effort scenario throughout the CDN nodes, including the edge nodes. There are limited ways to prioritize particular content files or content associated with particular owners/operators based on popularity or other criteria. Moreover, CDNs generally lack the ability to prioritize content delivery between push and pull content delivery scenarios and/or within the push and pull content pipes throughout a CDN.